\tikzset{
%Define standard arrow tip
>=stealth',
%Define style for different line styles
help lines/.style={dashed, thick},
axis/.style={very thick, <->},
important line/.style={thick},
connection/.style={thick, dotted},
}

\newcommand{\overheadsLock}{%
  \begin{tikzpicture}[
  fun/.style={ fill=black!30},
  migr/.style={ fill=black!80}
  ]
    % Axis
    \coordinate (y) at (0,9);
    \coordinate (x) at (6,0);
    \draw[axis] (y) node[above=-6cm, right=-0.9cm, rotate=90, font=\small] {Times $\mu$s} -- (0,0) --  (x) node[below=1cm, right=-4.5cm, font=\small] {Phase};

\draw[line width=0.1mm, gray, dashed] (-0.35,1)node[black, above=0.2cm, right=-0.2cm] {\tiny 1 } -- +(6, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,2)node[black, above=0.2cm, right=-0.2cm] {\tiny 2 } -- +(6, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,3)node[black, above=0.2cm, right=-0.2cm] {\tiny 3 } -- +(6, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,4)node[black, above=0.2cm, right=-0.2cm] {\tiny 4 } -- +(6, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,5)node[black, above=0.2cm, right=-0.2cm] {\tiny 5 } -- +(6, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,6)node[black, above=0.2cm, right=-0.2cm] {\tiny 6 } -- +(6, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,7)node[black, above=0.2cm, right=-0.2cm] {\tiny 7 } -- +(6, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,8)node[black, above=0.2cm, right=-0.2cm] {\tiny 8 } -- +(6, 0);

\draw[fun]  (1, 8.5) rectangle +(0.5, 0.3);
\path(1.3, 8.9)node[above] {{\small Function}};
\draw[migr]  (3, 8.5) rectangle +(0.5, 0.3);
\path(3.3, 8.8)node[above] {{\small Migration}};

\path(1.5,0)node[below]{\small I};
\path(3,0)node[below]{\small II};
\path(4.5,0)node[below]{\small III};

\draw[fun]  (1.2, 0) rectangle +(0.6, 0.8);

\draw[fun]  (2.7, 0) rectangle +(0.6, 2);
\draw[migr]  (2.7, 2) rectangle +(0.6, 6);

\draw[fun]  (4.2, 0) rectangle +(0.6, 0.5);

\end{tikzpicture}}

\newcommand{\overheadsRelease}{%
  \begin{tikzpicture}[
  fun/.style={ fill=black!30},
  migr/.style={ fill=black!80}
  ]
    % Axis
    \coordinate (y) at (0,9);
    \coordinate (x) at (4,0);
    \draw[axis] (y) node[above=-6cm, right=-0.9cm, rotate=90, font=\small] {Times $\mu$s} -- (0,0) --  (x) node[below=1cm, right=-3cm, font=\small] {Phase};

\draw[line width=0.1mm, gray, dashed] (-0.35,1)node[black, above=0.2cm, right=-0.2cm] {\tiny 1 } -- +(4, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,2)node[black, above=0.2cm, right=-0.2cm] {\tiny 2 } -- +(4, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,3)node[black, above=0.2cm, right=-0.2cm] {\tiny 3 } -- +(4, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,4)node[black, above=0.2cm, right=-0.2cm] {\tiny 4 } -- +(4, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,5)node[black, above=0.2cm, right=-0.2cm] {\tiny 5 } -- +(4, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,6)node[black, above=0.2cm, right=-0.2cm] {\tiny 6 } -- +(4, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,7)node[black, above=0.2cm, right=-0.2cm] {\tiny 7 } -- +(4, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,8)node[black, above=0.2cm, right=-0.2cm] {\tiny 8 } -- +(4, 0);

\draw[fun]  (1, 8.5) rectangle +(0.5, 0.3);
\path(1.3, 8.9)node[above] {{\small Function}};
\draw[migr]  (3, 8.5) rectangle +(0.5, 0.3);
\path(3.3, 8.8)node[above] {{\small Migration}};

\path(1.5,0)node[below]{\small I};
\path(3,0)node[below]{\small II};

\draw[fun]  (1.2, 0) rectangle +(0.6, 0.8);

\draw[fun]  (2.7, 0) rectangle +(0.6, 2);
\draw[migr]  (2.7, 2) rectangle +(0.6, 6);

\end{tikzpicture}}

\newcommand{\overheadsFS}{%
  \begin{tikzpicture}[
  fun/.style={ fill=black!30},
  migr/.style={ fill=black!80}
  ]
    % Axis
    \coordinate (y) at (0,9);
    \coordinate (x) at (6,0);
    \draw[axis] (y) node[above=-6cm, right=-0.9cm, rotate=90, font=\small] {Times $10 * \mu$s} -- (0,0) --  (x) node[below=1cm, right=-4.5cm, font=\small] {Mechanism};

\draw[line width=0.1mm, gray, dashed] (-0.35,1)node[black, above=0.2cm, right=-0.2cm] {\tiny 1 } -- +(6, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,2)node[black, above=0.2cm, right=-0.2cm] {\tiny 2 } -- +(6, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,3)node[black, above=0.2cm, right=-0.2cm] {\tiny 3 } -- +(6, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,4)node[black, above=0.2cm, right=-0.2cm] {\tiny 4 } -- +(6, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,5)node[black, above=0.2cm, right=-0.2cm] {\tiny 5 } -- +(6, 0);
\draw[line width=0.1mm, gray, dashed] (-0.35,6)node[black, above=0.2cm, right=-0.2cm] {\tiny 6 } -- +(6, 0);

\draw[fun]  (1, 8.5) rectangle +(0.5, 0.3);
\path(1.3, 8.9)node[above] {{\small Function}};
\draw[migr]  (3, 8.5) rectangle +(0.5, 0.3);
\path(3.3, 8.8)node[above] {{\small Migration}};

\path(1.5,0)node[below]{\small I};
\path(3,0)node[below]{\small II};
\path(4.5,0)node[below]{\small III};

\draw[fun]  (1.2, 0) rectangle +(0.6, 2.4);
\draw[migr]  (1.2, 2.4) rectangle +(0.6, 3.7);

\draw[fun]  (2.7, 0) rectangle +(0.6, 0.3);
\draw[migr]  (2.7, 0.3) rectangle +(0.6, 0.6);

\draw[fun]  (4.2, 0) rectangle +(0.6, 0.2);
\draw[migr]  (4.2, 0.2) rectangle +(0.6, 0.6);


\end{tikzpicture}}